// https://leetcode.cn/problems/binary-search/description/
// class Solution {
// public:
//     int search(vector<int>& nums, int target) {
//         //两点 原理 和 模版 理解之后再记忆
//         //模版 朴素的二分模版
//         //    查找左边界的模版
//         //    查找右边界的模版
//         //二分查找数组有序的时候用，但是数组有一些规律的时候也可以用
//         //特点：二段性
//         int left =0;
//         int right =nums.size()-1;
//         while(left<=right)
//         {
//             int mid=(right-left)/2+left;
//             if(nums[mid]>target)
//             {
//                 right=mid-1;
//             }
//             else if(nums[mid]<target)
//             {
//                 left=mid+1;
//             }
//             else
//             {   
//                 return mid;
//             }
//         }
//         return -1;
//     }
// };